#ifndef CRYPTOAGENT_H
#define CRYPTOAGENT_H

#include <QString>
#include <Note.h>
#include "crypt/ICrypt.h"
#include <QByteArray>

class CipherType{
public:
	enum Enum{
		AES,
		DES,
		//TEA,
		//GOST89,
		RC4,
		None
	};
};

class CryptoAgent
{
	QString _pass;
	CipherType::Enum _type;

	ICrypt* _crypt;

public:
	CryptoAgent();

	void setPassword(CipherType::Enum type, QString baseStr);

	QByteArray encrypt(QByteArray data);
	QByteArray decrypt(QByteArray data);

	void encryptNote(Note* note);
	void decryptNote(Note* note);
};

#endif // CRYPTOAGENT_H
